#ifndef ENTITY_H_INCLUDED
#define ENTITY_H_INCLUDED

#include <sheeplib/model/model.h>
#include <boost/shared_ptr.hpp>
#include <string>

using boost::shared_ptr;
using namespace sheeplib::model;
using std::string;

namespace engine {
		
	namespace scene {
		
		class Entity {
			private:
				shared_ptr<Model> m_Mesh;
				string m_Name;
			public:
				Entity(const string& name);
				virtual ~Entity();
				
				shared_ptr<Model> getMesh();
				shared_ptr<Entity> clone(const string& newName); ///< Create a clone of this entity and return a pointer
				
				string getName();
				void useMesh(const string& mesh);
		};
	}
}

#endif // ENTITY_H_INCLUDED
